System, apparatus and method for generation of content for distributed heterogenous computers

ABSTRACT

A system, apparatus and method for generation of content for distributed heterogeneous computers is provided. A server can connect to a network, which in turn is connected to a plurality of client computing devices, a plurality of fixed display computers and a plurality of administration computers. The server is configured to receive content form the administration computers, and to adjust the received content for one or more of the respective fixed display computing and to also adjust the received content for one or more of the client computing devices.

FIELD

The present specification relates generally to networked computing andmore specifically relates to a system, apparatus and method forgeneration of content for distributed heterogeneous computers.

BACKGROUND

Web pages and other Internet content are commonly used as a means toefficiently and effectively disseminate information, replacing moretraditional media. However, such content can quickly become stale.Furthermore, there is increasing pressure to maintain an Internetpresence across a wide variety of computing environments. For example,digital signage, web pages, social media applications such as Facebookand Twitter, and web directories are all places where content can begenerated. However, the interfaces and portals through which content isupdated in each of these environments is quite different. This furtherexacerbates the problem of content becoming stale, for an update to oneInternet presence can necessitate an update to all computingenvironments where an Internet presence can be delivered. A stillfurther problem is that even in undertaking the changes to each of thecomputing environments, there can be a significant time lag. Forexample, it may take one day to update a Facebook site, and then anotherday to update a web site, leading to a period of time where content maybe contradictory.

SUMMARY

An aspect of this specification provides a method and system for contentgeneration by providing a server that interconnects one or more contentadministration sessions and a plurality of heterogeneous computingenvironments. The server is configured to receive content via thecontent administration session. The server is also configured tomaintain one or more databases containing mapping informationrepresenting target data structures for each of the computingenvironments. The server is configured to automatically generate contentfor each of the computing environments based on the mapping information.

An aspect of this specification provides a method for generation ofcontent for distributed heterogeneous computers comprising: receiving acontent administration request; establishing a content administrationsession in response to said request; receiving content via said contentadministration session; receiving a first computing environment profilefor a fixed display computer; receiving a second computing environmentprofile for a client computing device; said second computing environmentprofile being different from said first computing environment profile;generating a first set of modified content for said fixed displaycomputer and uploading said first set of modified content to said fixeddisplay computer; and, generating a second set of modified content forsaid client computing device and publishing said second set of modifiedcontent for access via client computing device.

The method can further comprise receiving an additional computingenvironment profile for an additional client computing device; saidadditional computing environment profile being different from said firstcomputing environment profile and said second computing environmentprofile; and generating a third set of modified content for said clientcomputing device and publishing said third set of modified content foraccess via said additional client computing device.

The second computing environment profile can comprise at least one of astandard web-browser application and a social networking application.

The first computing environment profile can exclude incorporation of anyinput devices and said second computing environment profile can at thesame time include at least one input device. In this context, thegenerating of said first set of modified content excludes contentnavigation via input device and said generating said second set ofmodified content includes content navigation via input device.

Where content navigation via an input device is excluded, then contentnavigation can be effected by automatic timers, whereby content changesaccording to a passage of a period of time. The content change can bebased on automatically scrolling through different pages of saidcontent.

Where content navigation via an input device is included, the second setof modified content can be configured to scroll through different pagesof said content based on input device instructions.

The first computing environment profile and said second computingenvironment profile can differ according to at least one of screen size,number of pixels of a display, number of displayable colours, refreshrates.

The first set of modified content can be blended with additional contentaccording to the geographic location of said fixed display computer. Theadditional content can comprise one or more of local news, localweather, and advertising.

The second set of modified content comprises one or more web pagesconfigured for windowing within another web site.

Another aspect of this specification provides an administrative serverconfigured for generation of content for distributed heterogeneouscomputers comprising: a network interface connected to a network; atleast one processor connected to said network interface and configuredfor receiving a content administration request from an administrationcomputer via said network interface; said at least one processorconfigured to establish a content administration session in response tosaid request with said administration computer; said at least oneprocessor configured to receive content from said administrationcomputer via said content administration session; said at least oneprocessor configured to receive a first computing environment profilefor a fixed display computer; said at least one processor configured toreceive a second computing environment profile for a client computingdevice; said second computing environment profile being different fromsaid first computing environment profile; said at least one processorconfigured to generate a first set of modified content for said fixeddisplay computer and to upload said first set of modified content tosaid fixed display computer; and, said at least one processor configuredto generate a second set of modified content for said client computingdevice and publishing said second set of modified content for access viaclient computing device.

In accordance with the teachings of this specification, a singleadministrative computer can be used to administer content generationacross wide variety of computing environments, including withoutlimitation, web page available on a traditional desktop browser, webpages available on a mini-browser on a portable electronic device,social network sites such as Facebook and Twitter, a digital outdoorsign, a listing in a web page directory, and search engines.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic representation of a system for generation ofcontent for distributed heterogeneous computers.

FIG. 2 shows a schematic representation of the server computer of thesystem of FIG. 1.

FIG. 3 shows a schematic representation of the fixed display computersof the system of FIG. 1.

FIG. 4 shows an example of a chassis for the fixed display computer ofFIG. 3.

FIG. 5 shows a flow-chart depicting a method for generation of contenton distributed heterogeneous computers.

FIG. 6 shows the system of FIG. 1 during performance of one of theblocks from FIG. 5.

FIG. 7 shows the system of FIG. 1 during performance of one of theblocks from FIG. 5.

FIG. 8 shows the system of FIG. 1 during performance of one of theblocks from FIG. 5.

FIG. 9 provides an example of content that can be received according tothe method of FIG. 5.

FIG. 10 shows the system of FIG. 1 during performance of one of theblocks from FIG. 5.

FIG. 11 shows the system of FIG. 1 during performance of one of theblocks from FIG. 5.

DETAILED DESCRIPTION OF THE EMBODIMENTS

A system, apparatus and method for generation of content for distributedheterogeneous computers is provided. A server can connect to a network,which in turn is connected to a plurality of client computing devices, aplurality of fixed display computers and a plurality of administrationcomputers. The server is configured to receive content form theadministration computers, and to adjust the received content for one ormore of the respective fixed display computing and to also adjust thereceived content for one or more of the client computing devices.

Referring now to FIG. 1, a non-limiting example of a system forgeneration of content for distributed heterogeneous client machines isindicated generally at 50. System 50 comprises a plurality ofheterogeneous client computing devices 54-1, 54-2 . . . 54-n(collectively, computing devices 54, and generically, computing device54. This nomenclature is used elsewhere).

Each computing device 54 can be any type of computing device that can beused in a self-contained manner and to interact with content availableover network 58. Interaction includes displaying of information oncomputing device 54 as well as to receive input at computing device 54that can in turn be sent back over network 58. Each device 54 thusincludes a plurality of input mechanisms such as a keyboard, a pointingdevice, and a microphone 104. A pointing device can be implemented as atrack wheel, trackball or the like. Other input devices, such as a touchscreen are also contemplated. Input from input mechanisms are receivedat a processor that is configured to communicate with a non-volatilestorage unit (e.g. Erasable Electronic Programmable Read Only Memory(“EEPROM”), Flash Memory) and a volatile storage unit (e.g. randomaccess memory (“RAM”)). Programming instructions that implement thefunctional teachings of device 54 as described herein are typicallymaintained, persistently, in the non-volatile storage unit and used bythe processor which makes appropriate utilization of volatile storageduring the execution of such programming instructions. It should beunderstood that the non-volatile storage unit and volatile storage unitare non-limiting examples of computer readable media which can storeprogramming instructions that are executable on the device's processor.Such computer readable media can also comprise removable non-volatilestorage.

The processor of device 54 is in turn is also configured to controlvarious output mechanisms, such as a speaker and a display. In a presentembodiment, device 54 is also configured to maintain variousapplications such as, by way of non-limiting example, web browsers andstreaming media players.

In the example embodiment, client computing device 54-1 is a desktopcomputer, client computing device 54-2 is a laptop computer, and clientcomputing device 54-n is a mobile electronic device such as aBlackBerry™ or an Iphone™. In this example, client 54-n is equipped witha mini-browser capable of generating web pages that are optimized fordesktop computers.

Client computing devices 54 are connected to a communication network 58via links 62. In a present embodiment, communication network 58 is theInternet. The types of links 62 are not particularly limited, but in apresent embodiment, link 62-1 and link 62-2 are shown as solid lines torepresent wired links, while link 62-n is shown as a dotted line torepresent a wireless link. Each device 54 therefore also contains atleast one network interface, which are implemented in a presentembodiment as radios configured to communicate over links 62. Ingeneral, it will be understood that the device's interface(s) is (are)configured to correspond with the network architecture that defines aparticular link 62.

At least one server computer 66 also connects to network 58 by abackhaul link 70. As will be discussed further below, server computer 66is configured to generate and otherwise maintain content for a pluralityof heterogeneous computing devices.

In addition, a plurality of local networks 74-1, 74-2 . . . 74-o alsoconnects to communication network 58. Local networks 74 can be privatenetworks such as local area networks that are configured and operated byan enterprise or other organization. In turn, each local network 74 inturn connects to a fixed display computer 78 and an administrationcomputer 82. As will be understood from reading further, administrationcomputers 82 need not be connected to local network 74 and that thecontent discussed herein can be administered from any computer thatconnects to network 58. Each administration computer 82 can comprise ahardware and software environment that is generally consistent with thetype of hardware and software environment described in relation to thecomputing devices 54. As will be discussed in greater detail below,however, each administration computer 82 is generally configured tointeract with server 66 so as to create and maintain content.

Referring to FIG. 2, server computer 66 can be based on any well-knownserver environment including various input devices such as a keyboard100 and a pointing device 102 can be used to provide input to one ormore central processing units 108. Server computer 66 can include amodule that houses the one or more central processing units 108, as wellas volatile storage 116 (e.g. random access memory), non-volatilestorage 112 (e.g. hard disk devices) and network interfaces 128 to allowserver computer 66 to communicate over network 58. Various outputdevices such as a display 124 that are controlled by the one or morecentral processing units 108 can also be provided. For example, servercomputer 66 can be a Sun Fire V480 from Sun Microsystems, Inc. of PaloAlto Calif., running a UNIX operating system, and having four centralprocessing units each operating at about nine-hundred megahertz andhaving about sixteen gigabytes of random access memory. However, it isto be emphasized that this particular server is merely exemplary, and avast array of other types of computing environments are contemplated.

In general, the term computing environment is used herein to refer tothe collection of hardware, operating systems and applications that canbe used to generate content. For example, a Ipod Touch from AppleComputer represents a particular combination of hardware and operatingsystem, while Safari represents a mini-webrowser application. Acomputing environment profile, as discussed below, comprises dataidentifying such a combination of hardware, operating system andapplications, as well as a mapping between a single, standardized dataschema representing received content for generation, to a plurality ofdifferent data schemas that are unique to each heterogeneous computingenvironment.

Referring to FIG. 3, fixed display computer 78 can be based on anywell-known computing environment including ports for various inputdevices such as a keyboard port 200 and a pointing device port 202, suchthat when a keyboard or pointing device is connected, it can be used toprovide input to one or more central processing units 208. Fixed displaycomputer 78 can include a module that houses the one or more centralprocessing units 208, as well as volatile storage 216 (e.g. randomaccess memory), non-volatile storage 212 (e.g. hard disk devices) and anetwork interface 228 to allow fixed display computer 78 to communicateover network 74 and network 58 with server computer 66 or anadministration computer 82. An output device such as a display 224 thatis controlled by the one or more central processing units 208 can alsobe provided. For example, fixed display computer 78 can be based on aMacMini from Apple Inc., or an ASUS EEE from ASUSTek Computers., but itis to be emphasized that other types of computing environments arecontemplated.

Referring now to FIG. 4, in a present embodiment, each fixed displaycomputer 78 is mounted within a ruggedized, weather-resistant,vandal-resistant chassis 232 that is mounted on a rigid stand 236. Inthis example, each fixed display computer 78 is configured forinstallation on or near the premises of an enterprise. A common type ofenterprise where fixed display computer 78 can be deployed is arestaurant and the content being deployed thereon comprises a menu andrelated advertising, promotion and marketing materials for thatrestaurant. Other types of enterprises are contemplated, including cardealerships in which case the content being deployed thereon comprisesadvertising, promotion and marketing materials for automobiles. Othertypes of enterprises where fixed display computer 78 can be deployedwill now occur to those skilled in the art.

Referring now to FIG. 5, a flowchart depicting a method for contentgeneration on distributed heterogeneous computing devices is indicatedgenerally at 300. Method 300 can be implemented on system 50 or asuitable variation thereof.

Block 305 comprises receiving a content administration request.Exemplary performance of block 305 is shown in FIG. 6, whereinadministration computer 82-2 is shown, via a dotted line, as sending arequest R to server computer 66. Request R can be effected byadministration computer 82-2 accessing a secure administration web siteAW hosted by server 66. Administration web site AW can require entry ofuser credentials that associate with a particular account A maintainedwithin a database D that is stored within (or otherwise associated with)server computer 66. Each account A is respective to a particular fixeddisplay computer 78, and accordingly, request R represents a request toprovide new or modified content for generation on that fixed displaycomputer 78.

Block 310 comprises establishing an administration session. Exemplaryperformance of block 310 is shown in FIG. 7, wherein administrationcomputer 82-2 is shown, via a dotted line, as having a secureadministration session AS with server computer 66 in relation to accountA-2. Administration session AS, in present exemplary embodiment, isshown as being conducted via administration web site AW, wherebyadministration web site AW includes programming to provide graphicalinterfaces on administration computer 82-2 that permit provision of newor modified content for account A-2, which in turn is associated withfixed display computer 78-2.

Block 315 comprises receiving new or modified content. Continuing withthe example in relation to fixed display computer 78-2, block 315 canthus comprise either generating new content for fixed display computer78-2, or modifying existing content that has been previously generatedfor fixed display computer 78-2. For purposes of explanation, it will beassumed that new content is being sent from administration computer 82-2to server computer 66 via graphical and other interfaces generated onadministration computer 82-2 by administration session AS. Exemplaryperformance of block 315 is shown in FIG. 8, wherein administrationcomputer 82-2 is shown, via a dotted line, as sending content C-2 viaadministration sessions AS. Once received at server computer 66, contentC-2 becomes associated with account A-2.

Where the enterprise that operates fixed display computer 78-2 is arestaurant, then content C-2 can be a menu for that restaurant. FIG. 9provides an example of content C-2 that can be received according tothis example. Content C-2 comprises two pages of a menu for a fictionalrestaurant called “Olivier's Restaurant”, a fictional name for theenterprise that operates fixed display computer 78-2. Each pagecomprises a graphic G-2 and text T-2. Graphic G-2 can be in the form ofa bitmap or the like and in the example the bit map graphic reads as“Olivier's Restaurant” in fancy-style script, although it will beunderstood that graphic G-2 can be a picture. Text T-2 is in the form ofAmerican Standard Code for Information Interchange (ASCII) text in givenfont, font size and other font characteristics such as underlining,italics, etc. Text T-2 lists various menu items that are available forordering. It will be understood that, in addition to graphic G-2 andtext T-2 as shown, content C-2 is stored and organized so as to includepage dimensions, locations and other characteristics, according to aDocument Object Model (DOM), even though those characteristics are notexpressly shown in FIG. 9.

Referring again to FIG. 3, block 320 comprises cycling back to block 315until the content addition or modification is complete. Block 325comprises receiving device profiles. Continuing with the example fromabove, block 325 thus comprises receiving computing environment profilesfor fixed display computer 78-2, as well at least one client computingdevice 54. In an example embodiment, it is contemplated that fixeddisplay computer 78-2 has at least one computing environmentconfiguration that is different from the computing environment than atleast one client computing device 54. In a present embodiment, theprofile for at least one client computing device 54 is based on astandard desktop computing environment configuration configured withInternet Explorer™ or Firefox™. Accordingly, block 325 comprisesreceiving computing environment profiles for fixed display computer 78-2and a standard desktop computing environment. An example of at least onedifference between these computing profiles is that no input device isattached, by default, to fixed display computer 78-2, while an inputdevice is provided for each client computing device 54.

Block 330 comprises adjusting the content for each profile from block325. Continuing with the example from above, block 330 comprisesmodifying content C-2 in order to conform that content with thecomputing environment profiles fixed display computer 78-2 and astandard desktop computing environment. Block 330 is represented in FIG.10, where content C-2 is shown as stored in association with accountA-2, but in addition modified content C-2′ is shown as stored inassociation with account A-2, and modified content C-2″ is shown asstored in association with account A-2. Modified content C-2′ isoptimized for generation on fixed display computer 78-2, while modifiedcontent C-2″ is optimized for generation on a standard desktop computingenvironment. Continuing with the specific example, the optimizationaddresses the exclusion of standard input device on fixed displaycomputer 78-2 and the presence of an input device on client computingdevices 54. Thus, modified content C-2′ is configured so that page oneand page two of content C-2 automatically cycle between each other aftera predefined time period, and/or are scaled so they appearsimultaneously on display 124, and/or configured to automatically scrollbetween all three views. Thus modified content C-2′ excludes the abilityto navigate modified content C-2′ via input device.

By the same token, modified content C-2″ is configured to beinteractive, such that toggling between viewing of page one and page twois interactive, responsive to input received via an input device on agiven computing device 54. Thus modified content C-2″ includes theability to navigate modified content C-2″ via input device.

Block 335 thus comprises electronically publishing content generated atblock 330. In the specific example, block 335 is represented in FIG. 10,where content C-2′ is shown as being uploaded onto fixed displaycomputer 78-2 for storage in non-volatile storage 212 of fixed displaycomputer 78-2. At point, a graphic application executing on processor208 can access content C-2′ and generate content C-2′ on display 224. Inaddition, content C-2″ is stored in association with a content web siteCW. Content C-2″, as stored in content web site CW, is now available foraccess by client computing devices 54 as web content, browsable byclient computing devices 54 in the usual manner.

The foregoing discusses certain specific embodiments, but it is to beunderstood that variations, subsets, and combinations of thoseembodiments are contemplated. The claims attached hereto define thescope of monopoly. For example, it should now be understood that furtheradjustments can be made at block 330 to effect different optimizations,to accommodate a variety of differences between fixed display computer78-2 and client computing devices 54, such as screen size, number ofpixels of a display, number of colours that can be displayed, refreshrates, and the like that depend on the hardware and softwareenvironment. Other modifications are contemplated. For example, contentC-2′ can be blended with other content, such as banners showing localnews, local weather, advertising, special event schedules such asconcerts, sporting events, fairs, exhibitions that are meaningful withinthe location in which fixed display computer 78-2 is situated. By thesame token content C-2″ can, for example, be “windowed” within anotherweb page. Such windowing can occur, for example, on another web pagethat includes an index of restaurants, where content C-2″ is generatedfor one restaurant, within the context of a list of other restaurants.In this manner, content C-2″ can be updated without having to rewritethe entire restaurant index web page. Other modifications to contentC-2′ that differ from modifications to content C-2″ will now occur tothose skilled in the art. It should be understood that content C-2″ canalso be configured for other types of computing devices 54 and/orcontent delivery environments, such as a social networking applicationsuch as Twitter, Facebook, My Space, or search engines, or web pages orany of combinations of them. Other types of content C-2″ will now occurto those skilled in the art. It should also be understood that evenfurther versions of modified content C-2 can be generated, toaccommodate, for example, differences between the computing environmentsof different computing devices 54. For example, a further modifiedversion of content C-2 can be generated that is specific to the limitedscreen size on client computing device 54-n. It should also beunderstood that while some of these examples relate to fixed displaycomputers 78 for restaurants, other enterprise environments arecontemplated, including automobile dealerships, retail outlets,real-estate developments, condominium sales centers, which incorporate afixed display computer 78.

As another example of a variation, the functionality of server computer66 can be distributed across a plurality of other server computers. Forexample, the content creation and maintenance can be effected via servercomputer 66, while the web hosting functionality of content web site CWcan be placed on one or more other server computers.

1. A method for generation of content for distributed heterogeneouscomputers comprising: receiving a content administration request;establishing a content administration session in response to saidrequest; receiving content via said content administration session;receiving a first computing environment profile for a fixed displaycomputer; receiving a second computing environment profile for a clientcomputing device; said second computing environment profile beingdifferent from said first computing environment profile; generating afirst set of modified content for said fixed display computer anduploading said first set of modified content to said fixed displaycomputer; and, generating a second set of modified content for saidclient computing device and publishing said second set of modifiedcontent for access via client computing device.
 2. The method accordingto claim 1 further comprising receiving an additional computingenvironment profile for an additional client computing device; saidadditional computing environment profile being different from said firstcomputing environment profile and said second computing environmentprofile; and generating a third set of modified content for said clientcomputing device and publishing said third set of modified content foraccess via said additional client computing device
 3. The methodaccording to claim 1 wherein said second computing environment profilecomprises at least one of a standard web-browser application and asocial networking application.
 4. The method according to claim 1wherein said first computing environment profile excludes any inputdevices and said second computing environment profile includes at leastone input device; and wherein said generating said first set of modifiedcontent excludes content navigation via input device and said generatingsaid second set of modified content includes content navigation viainput device.
 5. The method of claim 4 wherein said first set ofmodified content is configured to automatically scroll through differentpages of said content.
 6. The method of claim 4 wherein said second setof modified content is configured to scroll through different pages ofsaid content based on input device instructions.
 7. The method of claim1 wherein said first computing environment profile and said secondcomputing environment profile differ according to at least one of screensize, number of pixels of a display, number of displayable colours,refresh rates.
 8. The method of claim 1 wherein said first set ofmodified content is blended with additional content according to thegeographic location of said fixed display computer.
 9. The method ofclaim 8 wherein said additional content comprises one or more of news,local weather, and advertising.
 10. The method of claim 1 wherein saidsecond set of modified content comprises one or more web pagesconfigured for windowing within another web site.
 11. An administrativeserver configured for generation of content for distributedheterogeneous computers comprising: a network interface connected to anetwork; at least one processor connected to said network interface andconfigured for receiving a content administration request from anadministration computer via said network interface; said at least oneprocessor configured to establish a content administration session inresponse to said request with said administration computer; said atleast one processor configured to receive content from saidadministration computer via said content administration session; said atleast one processor configured to receive a first computing environmentprofile for a fixed display computer; said at least one processorconfigured to receive a second computing environment profile for aclient computing device; said second computing environment profile beingdifferent from said first computing environment profile; said at leastone processor configured to generate a first set of modified content forsaid fixed display computer and to upload said first set of modifiedcontent to said fixed display computer; and, said at least one processorconfigured to generate a second set of modified content for said clientcomputing device and publishing said second set of modified content foraccess via client computing device.
 12. The administrative serveraccording to claim 11 wherein said at least one processor is furtherconfigured to receive an additional computing environment profile for anadditional client computing device; said additional computingenvironment profile being different from said first computingenvironment profile and said second computing environment profile; saidprocessor further configured to generate a third set of modified contentfor said client computing device and publishing said third set ofmodified content for access via said additional client computing device13. The administrative server of claim 11 wherein said second computingenvironment profile comprises at least one of a standard web-browserapplication and a social networking application.
 14. The administrativeserver of claim 11 wherein said first computing environment profileexcludes any input devices and said second computing environment profileincludes at least one input device; and wherein said processor isconfigured to generate said first set of modified content to excludecontent navigation via input device and said processor is configured togenerate said second set of modified content includes content navigationvia input device.
 15. The administrative server of claim 14 wherein saidfirst set of modified content is configured to automatically scrollthrough different pages of said content.
 16. The administrative serverof claim 14 wherein said second set of modified content is configured toscroll through different pages of said content based on input deviceinstructions.
 17. The administrative server of claim 11 wherein saidfirst computing environment profile and said second computingenvironment profile differ according to at least one of screen size,number of pixels of a display, number of displayable colours, refreshrates.
 18. The administrative server of claim 11 wherein said first setof modified content is blended with additional content according to thegeographic location of said fixed display computer.
 19. Theadministrative server of claim 18 wherein said additional contentcomprises one or more of local news, local weather, and advertising. 20.The administrative server of claim 11 wherein said second set ofmodified content comprises one or more web pages configured forwindowing within another web site.